home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / docs / apps / database / ingres04.lzh / source / libq / IIglobals.h < prev    next >
Encoding:
C/C++ Source or Header  |  1985-01-23  |  2.4 KB  |  99 lines

  1. /*
  2. **  IIGLOBALS.H -- Equel run-time library globals
  3. **
  4. **    In this file are defined the global variables,
  5. **    and manifest constants used in the Equel run-time
  6. **    routines. All globals must start with "II".
  7. **
  8. **    Version:
  9. **        @(#)IIglobals.h    8.1    12/31/84
  10. */
  11.  
  12. # include    <pipes.h>
  13. # include    <proc.h>
  14. # include    <resp.h>
  15. # include    <pv.h>
  16.  
  17. # define    opSHORT        1
  18. # define    opFLOAT        2
  19. # define    opSTRING    3
  20. # define    opDOUBLE    4
  21. # define    opCHAR        5
  22. # define    opLONG        6
  23. # ifdef PDP
  24. # define    opINT        opSHORT
  25. # else PDP
  26. # define    opINT        opLONG
  27. # endif PDP
  28.  
  29. # define    EQUEL        '&'
  30. # define    ERRDELIM    '~'
  31.  
  32. struct resp    IIresp;            /* response structure */
  33. char        *IIproc_name;        /* file name */
  34. int        IIline_no;        /* line no */
  35. int        IIdebug;        /* debug flag */
  36. int        IIingpid;        /* process id of ingres */
  37. char        *IIoptn [9];        /* ingres options */
  38. int        IIin_retrieve;        /* set if inside a retrieve */
  39. int        IIndomains;        /* number of doamins in this retrieve */
  40. int        IIdomains;
  41. int        IInxtdomain;        /* index into source field of buffer */
  42. long        IItupcnt;        /* # tuples which satified last 
  43.                      * update query 
  44.                      */
  45. int        IInewqry;        /* set to indicate that IIwrites have
  46.                      * already set buffers 
  47.                      */
  48. int        IIw_down, IIr_down;    /* pipe descriptors for 
  49.                      * parser communcation 
  50.                      */
  51. int        IIerrflag;        /* error flag. 
  52.                      * Set in IIerror, cleared in IIsync 
  53.                      */
  54. extern char    IIPathname[];        /* initialized by 
  55.                      * IIgetpath() [IIingres.c] 
  56.                      */
  57. int        (*IIprint_err)();    /* wether or not error messgs should
  58.                      * be printed
  59.                      */
  60. int        IIret_err();        /* returns its integer arg for 
  61.                      * (*IIprint_err)()
  62.                      */
  63. int        IIno_err();        /* returns 0 for (*IIprint_err)() */
  64. int        (*IIo_print)();        /* a one value stack for 
  65.                      * temporarily turned off printing of
  66.                      * errors. Done in [IIw_left.c & 
  67.                      * IIw_right.c].
  68.                      */
  69. char        *IImainpr;        /* "/usr/bin/ingres.c" usually, 
  70.                      * [ingres.c]
  71.                      */
  72. int        IISyncs[];        /* Interrupt expectance vector */
  73.  
  74. /* buffer structure of get(III) */
  75. struct iob
  76. {
  77.     int        fildes;
  78.     int        nleft;
  79.     char        *nextp;
  80.     char        buff[512];
  81. };
  82.  
  83. struct retsym
  84. {
  85.     char        type;
  86.     char        len;
  87.     char        *addr;
  88. };
  89. struct retsym    IIretsym[MAXDOM];    /* retrieve table */
  90. struct retsym    IIr_sym;        /* type, length fields used
  91.                      * by new equel in IIn_ret and IIn_get
  92.                      */
  93.  
  94. int    IIinput;    /* File descriptor from which current input is read,
  95.              * is either IIr_down, or IIr_front
  96.              */
  97.  
  98. pb_t    IIpb;        /* the data pipe buffer */
  99.